#ifndef H_INPUT
#define H_INPUT

#include <windows.h>

struct Input;

Input *
IN_Instance(void);

HRESULT
IN_Init(Input *self, HINSTANCE inst, HWND hWnd);

HRESULT
IN_FrameMove(Input *self);

void
IN_Term(Input *self);

enum KeyStatusType {
    KS_Up,
    KS_Down,
    KS_Left,
    KS_Right,
    KS_A,

    KS_B,
    KS_Start,

    KS_NUM
};

bool
IN_IsPressed(Input *self, KeyStatusType t);

bool
IN_IsPressedTrigger(Input *self, KeyStatusType t);

bool
IN_IsReleasedTrigger(Input *self, KeyStatusType t);

#endif /* H_INPUT */
